import axios from 'axios';
import Vue from 'vue';
import router from '../src/router/index'

const http = axios.create({
    // 将发送地址统一管理，并且将api放进api里面
    baseURL: 'http://localhost:3000/'
});


// 在请求加一个拦截器， 将token放在请求头中
http.interceptors.request.use(function(config) {
    if (localStorage.token) {
        config.headers.Authorization = 'Bearer ' + localStorage.token;
    }
    return config;
});

//给http请求加一个全局拦截器
http.interceptors.response.use(res => {
    return res;
}, err => {
    //通用拦截处理
    if (err.response.data.message) {
        Vue.prototype.$message({
            type: 'error',
            message: err.response.data.message
        });
        if (err.response.status === 401) {
            setTimeout(() => {
                router.push('/adminsLogin');
            }, 1000);
        }
    }
    return Promise.reject(err);
})

export default http;